<?php

use app\event\api\AfterExpertEvent;
use app\event\api\AfterUserEvent;
use app\event\backend\AfterPasswordEvent;
use app\event\backend\OrderConsultRefundLogEvent;
use app\event\backend\OrderConsultRefundSuccessEvent;
use app\event\backend\WebsiteNoticeEvent;
use app\event\callback\OrderConsultPaySuccessEvent;
use app\event\callback\OrderCoursePaySuccessEvent;
use app\event\callback\OrderMultiPaySuccessEvent;
use app\listener\api\AfterExpertListener;
use app\listener\api\AfterUserListener;
use app\listener\backend\AfterPasswordListener;
use app\event\backend\AfterLoginEvent as BAfterLoginEvent;
use app\listener\backend\AfterLoginListener as BAfterLoginListener;
use app\listener\backend\OrderConsultRefundLogListener;
use app\listener\backend\OrderConsultRefundSuccessListener;
use app\listener\backend\WebsiteNoticeListener;
use app\listener\callback\OrderConsultPaySuccessListener;
use app\listener\callback\OrderCoursePaySuccessListener;
use app\listener\callback\OrderMultiPaySuccessListener;

// 事件定义文件
return [
    'bind' => [
        'AfterAdminLogin' => BAfterLoginEvent::class,
        'AfterUserLogin' => AfterUserEvent::class,
        'AfterExpertLogin' => AfterExpertEvent::class,
        'WebsiteNotice' => WebsiteNoticeEvent::class,
        'AfterPassword' => AfterPasswordEvent::class,
        'OrderMultiPaySuccess' => OrderMultiPaySuccessEvent::class,
        'OrderConsultPaySuccess' => OrderConsultPaySuccessEvent::class,
        'OrderCoursePaySuccess' => OrderCoursePaySuccessEvent::class,
        'OrderConsultRefundLog' => OrderConsultRefundLogEvent::class,
        'OrderConsultRefundSuccess' => OrderConsultRefundSuccessEvent::class,
    ],

    'listen'    => [
        'AppInit'  => [],
        'HttpRun'  => [],
        'HttpEnd'  => [],
        'LogLevel' => [],
        'LogWrite' => [],
        'AfterAdminLogin' => [BAfterLoginListener::class],
        'AfterUserLogin' => [AfterUserListener::class],
        'AfterExpertLogin' => [AfterExpertListener::class],
        'WebsiteNotice' => [WebsiteNoticeListener::class],
        'AfterPassword' => [AfterPasswordListener::class],
        'OrderMultiPaySuccess' => [OrderMultiPaySuccessListener::class],
        'OrderConsultPaySuccess' => [OrderConsultPaySuccessListener::class],
        'OrderCoursePaySuccess' => [OrderCoursePaySuccessListener::class],
        'OrderConsultRefundLog' => [OrderConsultRefundLogListener::class],
        'OrderConsultRefundSuccess' => [OrderConsultRefundSuccessListener::class],
    ],

    'subscribe' => [
    ],
];
